package com.tinyengine.it;

import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;

public class DeepseekTest {

    private static final String apiKey = "cKRaLTBlW5AOvE03YBNyR2vs6Nt70Rse-XpXwDUyAbM0xrMoZznJaRmj__ITQd7nXrtP6ELQU5xFeThr2n8TGQ";

    public static void main(String[] args) {
        // API地址和 API Key
        String url = "https://maas-cn-southwest-2.modelarts-maas.com/v1/infers/271c9332-4aa6-4ff5-95b3-0cf8bd94c394/v1/chat/completions";

        JSONArray array = JSONUtil.createArray();
        array
                .add(JSONUtil.createObj()
                        .put("role", "system")
                        .put("content", "你好"));
        array.add(JSONUtil.createObj()
                .put("role", "user")
                .put("content", "将 用户名 ，姓名，家庭住址，联系电话，年龄，身高，体重 转换为下面格式，{ 'key': 'formdata_a', 'field_type': 'String', 'description': 'haha'} key为字段英文，field_type为java的字段类型，description 为字段中文说明，其他字段保持不变，直接返回标准的json数据，不要有其他说明信息"));
        // 请求体
        String data = JSONUtil.toJsonStr(
                JSONUtil.createObj()
                        .put("model", "DeepSeek-V3")
                        .put("max_tokens", 1024)
                        .put("messages", array

                        )
                        .put("stream", false)
                        .put("temperature", 0.6)
        );

        // 发送 POST 请求
        String response = HttpUtil.createPost(url)
                .header("Authorization", "Bearer " + apiKey)
                .header("Content-Type", "application/json")
                .body(data)
                .execute()
                .body();

        // 打印返回结果
        JSONObject jsonObject = JSON.parseObject(response);
        // 提取 content 字符串
        String contentStr = jsonObject.getJSONArray("choices")
                .getJSONObject(0)
                .getJSONObject("message")
                .getString("content");

        // 解析 content 字符串为 JSON 数组
        com.alibaba.fastjson2.JSONArray contentArray = JSON.parseArray(contentStr);

        System.out.println(JSON.toJSONString(contentArray));
    }
}
